Loops That MatterTM Overview

Loops that Matter is method for finding out which links and feedback loops are responsible for generating observed model behavior. The theory behind the approach is described in a paper by Schoenberg, Davidsen and Eberlein. That theory is used to animate diagrams during simulation, list the feedback loops important to driving behavior, and allow the generation of simplified causal loop diagrams to highlight key feedback loops.

Loops that Matter is built into the Stella Software and is available at all times for your use as you develop and analyze models. It will be activated on any existing models you have developed that are not too large, though you can also choose to turn it on for larger models.

To Turn Loops that Matter on or Off

You can change whether Loops that matter is active from the Model Settings Properties Panel. Simply check or uncheck the checkbox. By default this will be checked for new models, and for small models created in previous versions. If it is not checked, no loop dominance information will be computed or displayed.

Link Scores

The heart of Loops that Matter is the link score which, simply put, is the contribution of one model variable to the change in another model variable. Link scores are computed for connectors, and also for flows. The polarity of the link score corresponds to the polarity of links in a causal loop diagram. A positive value means that a change in the source variable will cause the target to change in the same direction (or for flows is an inflow) while a negative value means that the target will change in the opposite direction (or for flows is an outflow). When you simulate a model with LTM turned on, you will see an animation using link scores:

This shows the animated Link Scores before and after the peak of infections. The animations are based on the relative link scores, so the thickness shows how important one input is relative to another. The big change in the above is which link is important to determining "risky contacts" and this changes from "contacts" to "fraction susceptible" after the peak.

Red links are reinforcing (R/+). Blue links are balancing (B/-). Gray links are inactive. (Steel gray links are of unknown polarity (U).

To see the value of the link scores over the course of the simulation, open the results panel and click on the arrowhead of the link. For flows out of a stock click on the flow right next to the stock the flow is coming out of (the arrowhead if it is a biflow). The resuls panel will display the relative contribution of the link over the course of the simulation.

The absolute value of the relative link scores will always add to one, which means that the thickness of the arrows coming in will always add to (roughly) the thickest arrow. This means you can, for example, have a thin and thick arrow, or two medium arrows.

Link Scores in Variables

There is a builtin called PATHSCORE that allows you to record the Loop Scores computed between two or more variables (along a path the link scores are multiplied as described below). This number is not relative to other link scores, and can be very large in magnitude, especially when a model approaches equilibrium. See Miscellaneous builtins for details on usage.

Loop Scores

An important characteristic of Link Scores is that they can be multiplied together along a path and maintain the interpretation of the impact of the starting variable on the ultimate target. When that target is the variable itself, as it will be for a feedback loop, the score along that path, created my multiplying all of the Link Scores. is called the Loop Score. Just as Link Scores can become quite large, Loop Scores can become quite larger. However, at any point in time it is possible to normalize the Loop Scores by making them add up to 100%. This normalized Loop Score tells us how important the loop is in determining behavior at a point in time.

Loop Scores change over the course of the simulation. In the simple bass diffusion example above there are two loops, and their scores are:

This information is available in the Loops Panel. The reinforcing loop starts out explaining 100% of the behavior (looks like exponential growth), then there is a transition in which the balancing loop starts to gain importance till it explains 100% of the behavior. We use the sign of the loop to distinguish balancing and reinforcing loops so the value is displayed using negative numbers in the graph.

Loop Scores in Variables

It is also possible to create variables that capture loop scores.

These variables are created from the Loops Panel, and use the LOOPSCORE builtin. Unlike other built in functions, the loop scores are only available after the simulation has been completed. So the output of the variables while the model is running will always be NAN.

Causal Loop Diagram Views

Once the feedback loops in a model have been identified and scored, it is possible to create causal loop diagrams that only show the variables and loops critical to generating observed behavior. Some of the theory behind this is described in a paper by Schoenberg, but in a nutshell it is possible to filter out variables and loops to only show the most important ones:

In this particular example, both loops are important, but the extra variables have been filtered out. The CLD presented is controlled from the Loops Panel.

Limitations

Currently, models using DELAYN or SMTHN with a varaibles (instead of a number) as the order arguments will not work with Loops that Matter, nor will models using PREVIOUS or DERIVN. Also, models using discrete capabilities such as conveyors use an approximation for computing link scores as described in Discrete Variables and Special Equations.